package day7.HomeWork;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

//a.利用Map,初始化如下数据，完成下面的功能：
//从命令行读入一个字符串，表示一个年份，输出该年的世界杯冠军是哪支球队。
// 如果该 年没有举办世界杯，则输出：没有举办世界杯。
//b.在原有世界杯Map 的基础上，增加如下功能：
// 读入一支球队的名字，输出该球队夺冠的年份列表。
// 例如，读入“巴西”，应当输出 1958 1962 1970 1994 2002
// 读入“荷兰”，应当输出 没有获得过世界杯
//届数        举办年份       举办地点     冠军
//第一届    1930年          乌拉圭        乌拉圭
//第二届    1934年          意大利        意大利
//第三届    1938年          法国          意大利
//第四届    1950年          巴西          乌拉圭
//第五届    1954年          瑞士          西德
////第六届  1958年          瑞典          巴西
//第七届    1962年          智利          巴西
//第八届    1966年          英格兰        英格兰
//第九届    1970年          墨西哥        巴西
//第十届    1974年          前西德        西德
//第十一届  1978年          阿根廷        阿根廷
//第十二届  1982年          西班牙        意大利
//第十三届  1986年          墨西哥        阿根廷
//第十四届  1990年          意大利        西德
//第十五届  1994年          美国          巴西
//第十六届  1998年          法国          法国
//第十七届  2002年          韩日          巴西
//第十八届  2006年          德国          意大利
//第十九届  2010年          南非          西班牙
//第二十届  2014年          巴西          德国
//二十一届  2018年          俄罗斯        法国
//二十二届  2022年          卡塔尔        阿根廷
public class Choose {
    static Scanner sc = new Scanner(System.in);
    static Map<Integer, WorldCup> map = new TreeMap<>();

    public static void main(String[] args) {
        map.put(1930, new WorldCup("第一届", "乌拉圭", "乌拉圭"));
        map.put(1934, new WorldCup("第二届", "意大利", "意大利"));
        map.put(1938, new WorldCup("第三届", "法国", "意大利"));
        map.put(1950, new WorldCup("第四届", "巴西", "乌拉圭"));
        map.put(1954, new WorldCup("第五届", "瑞士", "西德"));
        map.put(1958, new WorldCup("第六届", "瑞典", "巴西"));
        map.put(1962, new WorldCup("第七届", "智利", "巴西"));
        map.put(1966, new WorldCup("第八届", "英格兰", "英格兰"));
        map.put(1970, new WorldCup("第九届", "墨西哥", "巴西"));
        map.put(1974, new WorldCup("第十届", "前西德", "西德"));
        map.put(1978, new WorldCup("第十一届", "阿根廷", "阿根廷"));
        map.put(1982, new WorldCup("第十二届", "西班牙", "意大利"));
        map.put(1986, new WorldCup("第十三届", "墨西哥", "阿根廷"));
        map.put(1990, new WorldCup("第十四届", "意大利", "西德"));
        map.put(1994, new WorldCup("第十五届", "美国", "巴西"));
        map.put(1998, new WorldCup("第十六届", "法国", "法国"));
        map.put(2002, new WorldCup("第十七届", "韩日", "巴西"));
        map.put(2006, new WorldCup("第十八届", "德国", "意大利"));
        map.put(2010, new WorldCup("第十九届", "南非", "西班牙"));
        map.put(2014, new WorldCup("第二十届", "巴西", "德国"));
        map.put(2018, new WorldCup("第二十一届", "俄罗斯", "法国"));
        map.put(2022, new WorldCup("第二十二届", "卡塔尔", "阿根廷"));

        System.out.println("请输入年份:");
        Integer year = sc.nextInt();
        if (map.containsKey(year)) {
            System.out.println(map.get(year).champion);
        } else System.out.println("没有举办世界杯");


        System.out.println("请输入球队的名称:");
        String name = sc.next();
        //System.out.println("届数\t\t举办年份\t举办地点\t冠军");
        boolean b = true;
        for (Integer i : map.keySet()) {

            if (map.get(i).champion.equals(name)) {
                System.out.println("届数\t" + map.get(i).name + "\t" + "举办年份\t" + i + "年\t " +
                        "举办地点\t" + map.get(i).adds + " \t冠军\t" + map.get(i).champion);
                b = false;
            }
        }
        if (b) {
            System.out.println("没有获得世界杯!");
        }
    }
}

class WorldCup {
    String name;
    String adds;
    String champion;

    public WorldCup(String name, String adds, String champion) {
        this.name = name;
        this.adds = adds;
        this.champion = champion;
    }

    @Override
    public String toString() {
        return adds + "\t" + name + "\t" + champion;
    }
}
